package cn.hls.service;

import java.util.List;
import java.util.Map;

import cn.hls.entity.Org;
import cn.hls.entity.vo.ExtTree;
import cn.hls.entity.vo.PageInfo;

/**
 * @fileName: MoudleService.java
 * @Description: 组织机构Service接口
 * @author: yinghui.zhang
 * @email: uuhui@163.com
 * @date 2015年4月15日
 * @version V1.0
 */
public interface OrgService extends BaseService<Org> {
	/**
	 * 根据模块编号、组织机构对象查询子组织机构信息
	 * 
	 * @param entity
	 *            组织机构对象
	 * @param nodeId
	 *            编号
	 * @return List<ExtTree>
	 */
	List<ExtTree> loadChildOrgInfo(Org entity, Object nodeId)
			throws Exception;

	/**
	 * 分页查询模块信息
	 * 
	 * @param entity
	 *            组织机构对象
	 * @param page
	 *            分页参数
	 * @return PageInfo<Org>
	 */
	PageInfo<Org> loadOrgInfo(Org entity, PageInfo<Org> page)
			throws Exception;

	/**
	 * 根据编号删除组织机构信息
	 * 
	 * @param id
	 *            模块编号
	 * @return String
	 */
	String deleteOrg(Long id) throws Exception;
	
	/**
	 * 根据对象的名称及代码查询模块对象信息
	 * @param entity 实体对象
	 * @throws Exception 异常
	 */
	public Org findOrg(Org entity)throws Exception;

	/**
	 * 根据编号更新模块序号
	 * 
	 * @param ids
	 *            编号
	 */
	void updateOrgSort(String ids) throws Exception;

	/**
	 * 获取组织名称 编号键值对信息
	 * @return Map<String,Long>
	 * @throws Exception 操作数据库异常
	 */
	Map<String ,Long> loadOrgInfo()throws Exception;
}
